package org.fjsei.yewu.jpa;

import org.fjsei.yewu.input.WhereTree;
import org.springframework.data.jpa.domain.Specification;

//JPA的子查询只能支持1个列的输出。
//特别注意：接口安全性灵活性的平衡，此处的安全机制还需要进一步研究和落实。

/** 已经放弃ModelFilters的使用，特殊场合才能适合引用。
 * 用这样WhereTree, ModelFilters来过滤排序的模式，在后端操作比较繁琐。
 * 前端用的话比较方便，但是安全性较低，只能适用大权限前端调用模式。
 * */
public interface ModelFilters<T>  extends Specification<T> {

    //通过接口来　支持WhereTree输入条件。
    ModelFilters<T> effectWhereTree(WhereTree where);

    //支持限制最大返回记录的数量
    ModelFilters<T> effectCount(int rownum);

   //[安全考虑]限制subquery可以使用的模型类type?。

    // 接口签名授权？

}




